(function ($) {
    var option = {
        onColor: 'success',
        animate:true,
        size:"mini",
        onText: '启用',
        offText: '禁用',
        onSwitchChange:function(event,state){}
    }

    var methods = {
        /**
         * 初始化bs 的switchBtn
         * @param op 基本配置
         * @param fun 方法
         */
        initBtn: function(fun,op) {
            if ($.isFunction(fun)){
                option.onSwitchChange = fun;
            }
            var extend = $.extend(true, option, op);
            $(this).bootstrapSwitch(extend);
            $(this).bootstrapSwitch("size",option.size);
        },
        setState:function (isChecked) {
            $(this).bootstrapSwitch('state',isChecked);
        },
        setDisabled:function (isActive) {
            $(this).bootstrapSwitch('disabled', isActive);
        },
        setSize:function (size) {
            $(this).bootstrapSwitch('size', size);
        },
        onChange:function (fun) {
            $(this).on('switchChange.bootstrapSwitch', fun)
        }
    }

    $.fn.switchBtn = function (method) {
        // 方法调用
        if (methods[method]) {
            return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
        } else if (typeof method === 'object' || !method) {
            return methods.init.apply(this, arguments);
        } else {
            $.error('Method' + method + 'does not exist on jQuery.switchButton');
        }
    };
})(jQuery)